package com.qf.blog.job;

import com.qf.blog.service.impl.PostScoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

@Component
@EnableScheduling
public class PostJob {

    @Autowired
    private PostScoreService postScoreService;

    // 从redis中查询需要计算的帖子id，然后再去查询每个帖子的点赞和评论实现计算分数
    @Scheduled(cron = "0/10 * * * * *") // 这里写的是cron表达式，它就表示什么时候触发定时任务
    public void test() {
        new Thread(() -> {
            // 1.先判断下本次任务是否有需要的计算的帖子
            Long size = postScoreService.getPostSize();
            if (size <= 0) {
                System.out.println("【定时任务】本次任务没有计算的帖子，任务结束");
                return;
            }

            // 2.开始计算帖子的分数
            System.out.println("【定时任务】开始计算帖子分数");
            postScoreService.updatePostScore();

        }).start();
    }
}
